
#ifndef _HARDWARE_COM_H
#define _HARDWARE_COM_H

#define SECS_PER_HOUR   (60 * 60)

typedef struct {
    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
} mcu_tm;

/////////////////////////////////////////////////////////////////////////////////
void system_soft_reset(); 	//关闭所有中断并复位
void system_reset_delay(); 			//设置系统延时复位标志
int  system_need_reset(); 			//获取系统延时复位标志

/////////////////////////////////////////////////////////////////////////////////
void wifi_reset(); 					//复位WIFI
void wifi_reset_delay();			//WIFI延时复位
int	 wifi_need_reset();				//查询WIFI是否需要复位
void led_wifi_on(); 				//点亮WIFI灯

/////////////////////////////////////////////////////////////////////////////////
int   offset_time(long int t, long int offset, mcu_tm *tp); //本地时间转换
char *strlowr(char *str); //字符串大写字母转小写
int   zsha256(const uint8_t *src, uint32_t len, uint32_t *hash); //求SHA256
int   get_sha256(unsigned char *pData,unsigned long iLen,char *pSha256); //获得缓冲区数据的SHA256值,pSha256传入长度65字节
void ble_reset();

#endif
